package io.renren.modules.course.service.impl;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.Query;

import io.renren.modules.course.dao.CourseDao;
import io.renren.modules.course.entity.CourseEntity;
import io.renren.modules.course.service.CourseService;


@Service("courseService")
public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> implements CourseService {
/*
    @Autowired
    private CourseDao courseDao;*/
@Autowired
CourseDao courseDao;
//    @Override
//    public PageUtils queryPage(Map<String, Object> params) {
//
//
//
//        //总数
//        int totalCount = baseMapper.selectTotalCount();
//        //当前页码
//        int page = Integer.parseInt((String)params.get("page"));
//        //每页显示数
//        int pageSize = Integer.parseInt((String)params.get("limit"));
//        //页数
//        int totalPage = (totalCount+pageSize-1)/pageSize;
//        //当前页数第一条
//        int start = pageSize*(page-1);
//
//        params.put("start",start);
//        params.put("end",page*pageSize);
//
//        List list=baseMapper.selectCourseList(params);
//
//        PageUtils pageUtils=new PageUtils(list,totalCount,pageSize,page);
//
//        return pageUtils;
//    }


    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        String search = (String)params.get("search");
        String isOnline = (String)params.get("isOnline");
        Page<CourseEntity> page = this.selectPage(
                new Query<CourseEntity>(params).getPage(),

                new EntityWrapper<CourseEntity>()
                        .like(StringUtils.isNotBlank(search),"title", search)
                        .eq(StringUtils.isNotBlank(isOnline),"is_online", isOnline)
        );

        return new PageUtils(page);
    }

    @Override
    public void online(Map map) {
        courseDao.online(map);
    }

    @Override
    public PageUtils getMyCourselist(Map<String, Object> params) {
        Long username = (Long) params.get("userId");
        Page<CourseEntity> page = this.selectPage(
                new Query<CourseEntity>(params).getPage(),

                new EntityWrapper<CourseEntity>()
                        .eq("teacher_id", username)
        );

        return new PageUtils(page);
    }

}
